/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tencent.mavenproject1;

import java.security.Security;
   import java.util.Date;
   import java.util.Properties;
import javax.mail.Address;
   import javax.mail.Authenticator;
   import javax.mail.Message;
   import javax.mail.MessagingException;
   import javax.mail.PasswordAuthentication;
   import javax.mail.Session;
   import javax.mail.Transport;
   import javax.mail.internet.AddressException;
   import javax.mail.internet.InternetAddress;
   import javax.mail.internet.MimeMessage;

/**
 *
 * @author janksenhu
 */

    
 
 
   public class Mail2 {
   
      public static void main(String[] args) throws AddressException, MessagingException {
      
          System.setProperty("java.net.useSystemProxies", "false");
          
         Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
         final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
      // Get a Properties object
         Properties props = System.getProperties();
  	 props.setProperty("proxySet","true");
         props.setProperty("socksProxyHost","0.0.0.0");
         props.setProperty("socksProxyPort","8888");
         props.setProperty("mail.smtp.host", "smtp.163.com");
         props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
         props.setProperty("mail.smtp.socketFactory.fallback", "false");
         props.setProperty("mail.smtp.port", "25");
//         props.setProperty("mail.smtp.socketFactory.port", "465");
         props.put("mail.smtp.auth", "true");
         props.put("mail.debug", "true");
         props.put("mail.store.protocol", "pop3");
         props.put("mail.transport.protocol", "smtp");
         final String username = "hujiangshui";
         final String password = "hjs312net";
         Session session = Session.getDefaultInstance(props, 
                              new Authenticator(){
                                 protected PasswordAuthentication getPasswordAuthentication() {
                                    return new PasswordAuthentication(username, password);
                                 }});
      
       // -- Create a new message --
         Message msg = new MimeMessage(session);
      
      // -- Set the FROM and TO fields --
         msg.setFrom(new InternetAddress("hujiangshui@163.com"));
         msg.setRecipients(Message.RecipientType.TO, 
                          InternetAddress.parse("hujiangshui@163.com",false));
         msg.setSubject("Hello");
         msg.setText("How are you");
         msg.setSentDate(new Date());
         Address[] add ={new InternetAddress("hujiangshui@163.com")};
         
         
         session.getTransport("smtp").connect();
         
         
         session.getTransport("smtp").sendMessage(msg,add );
         Transport.send(msg);
         System.out.println("Message sent.");
      }
   }

